// Copyright (c) 2017-2025 Tencent. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package v20200527

import (
    tcerr "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/errors"
    tchttp "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/http"
    "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/json"
)

type AdBreakInfo struct {
	// SourceLocationId.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// VodSourceName.
	VodSourceName *string `json:"VodSourceName,omitnil,omitempty" name:"VodSourceName"`

	// Offset.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// MessageType, divided into SpliceInsert and TimeSignal.
	MessageType *string `json:"MessageType,omitnil,omitempty" name:"MessageType"`

	// TimeSignalConf.
	TimeSignalConf *TimeSignalInfo `json:"TimeSignalConf,omitnil,omitempty" name:"TimeSignalConf"`

	// SpliceInsertConf.
	SpliceInsertConf *SpliceInsertInfo `json:"SpliceInsertConf,omitnil,omitempty" name:"SpliceInsertConf"`

	// Metadatas.
	Metadatas []*Metadata `json:"Metadatas,omitnil,omitempty" name:"Metadatas"`

	// SourceLocationName.
	SourceLocationName *string `json:"SourceLocationName,omitnil,omitempty" name:"SourceLocationName"`
}

type AliasValueConf struct {
	// Alias.
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Value.
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}

// Predefined struct for user
type BindLinearAssemblyCDNDomainWithChannelRequestParams struct {
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Cdn playback domain.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

type BindLinearAssemblyCDNDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Cdn playback domain.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

func (r *BindLinearAssemblyCDNDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindLinearAssemblyCDNDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "CdnDomain")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "BindLinearAssemblyCDNDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type BindLinearAssemblyCDNDomainWithChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type BindLinearAssemblyCDNDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *BindLinearAssemblyCDNDomainWithChannelResponseParams `json:"Response"`
}

func (r *BindLinearAssemblyCDNDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindLinearAssemblyCDNDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type BindNewLVBDomainWithChannelRequestParams struct {
	// Channel ID
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// The LVB domain name to bind
	LVBDomain *string `json:"LVBDomain,omitnil,omitempty" name:"LVBDomain"`
}

type BindNewLVBDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// The LVB domain name to bind
	LVBDomain *string `json:"LVBDomain,omitnil,omitempty" name:"LVBDomain"`
}

func (r *BindNewLVBDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindNewLVBDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "LVBDomain")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "BindNewLVBDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type BindNewLVBDomainWithChannelResponseParams struct {
	// The LVB domain name bound successfully
	LVBDomain *string `json:"LVBDomain,omitnil,omitempty" name:"LVBDomain"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type BindNewLVBDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *BindNewLVBDomainWithChannelResponseParams `json:"Response"`
}

func (r *BindNewLVBDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindNewLVBDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type BindSSAICDNDomainWithChannelRequestParams struct {
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Specifies the playback domain of CDN.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

type BindSSAICDNDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Specifies the playback domain of CDN.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

func (r *BindSSAICDNDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindSSAICDNDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "CdnDomain")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "BindSSAICDNDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type BindSSAICDNDomainWithChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type BindSSAICDNDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *BindSSAICDNDomainWithChannelResponseParams `json:"Response"`
}

func (r *BindSSAICDNDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *BindSSAICDNDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CacheInfo struct {
	// List of timeout parameter configuration
	// Note: this field may return `null`, indicating that no valid value was found.
	Info []*CacheInfoInfo `json:"Info,omitnil,omitempty" name:"Info"`
}

type CacheInfoInfo struct {
	// Timeout period (ms), which must be an integer multiple of 1000
	// .m3u8/.mpd: [1000, 60000]
	// .ts/.m4s/.mp4: [10000, 1800000]
	Timeout *int64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// File extension. Valid values: .m3u8, .ts, .mpd, .m4s, .mp4
	// Note: this field may return `null`, indicating that no valid value was found.
	Ext *string `json:"Ext,omitnil,omitempty" name:"Ext"`
}

type CdnDomainInfo struct {

	TotalSize *int64 `json:"TotalSize,omitnil,omitempty" name:"TotalSize"`


	Records []*DomainRecordInfo `json:"Records,omitnil,omitempty" name:"Records"`
}

type ChannelAlertResp struct {
	// Program alarm aggregation information.
	ProgramAlertCounts []*ProgramAlertCounts `json:"ProgramAlertCounts,omitnil,omitempty" name:"ProgramAlertCounts"`

	// Program alarm details.
	ProgramAlertInfos []*ProgramAlertInfos `json:"ProgramAlertInfos,omitnil,omitempty" name:"ProgramAlertInfos"`
}

type ChannelInfo struct {
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Channel protocol.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Channel input and output.
	Points *PointInfo `json:"Points,omitnil,omitempty" name:"Points"`

	// Cache configuration
	// Note: this field may return `null`, indicating that no valid value was found.
	CacheInfo *CacheInfo `json:"CacheInfo,omitnil,omitempty" name:"CacheInfo"`
}

type ClipRangeInfo struct {
	// The vod type is valid, the content is valid starting time, Entire and SpecifyTimeRange are optional.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Offset, valid when Type is SpecifyTimeRange.
	//
	// Deprecated: Offset is deprecated.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type ConfigAliasesInfo struct {
	// parameter name.
	ParamName *string `json:"ParamName,omitnil,omitempty" name:"ParamName"`

	// Alias-value configuration.
	AliasValueList []*AliasValueConf `json:"AliasValueList,omitnil,omitempty" name:"AliasValueList"`
}

type CosInputInfo struct {

	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`


	Region *string `json:"Region,omitnil,omitempty" name:"Region"`


	Object *string `json:"Object,omitnil,omitempty" name:"Object"`
}

type CosOutputStorage struct {
	// cos bucket name.
	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`

	// region name of your cos bucket.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// cos directory of vod remux task result.
	OutputDir *string `json:"OutputDir,omitnil,omitempty" name:"OutputDir"`
}

// Predefined struct for user
type CreateStreamPackageChannelEndpointRequestParams struct {
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Endpoint name, which must contain 1 to 32 characters and supports digits, letters, and underscores
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Authentication information
	AuthInfo *EndpointAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`

	// Endpoint protocol type, supports HLS, DASH, CMAF (only HLS type input can create CMAF Endpoint).
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Mainifest name, default is main.
	Manifest *string `json:"Manifest,omitnil,omitempty" name:"Manifest"`

	// Whether to turn on the TimeShift function, true: on, false: off, the default is off.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// The number of days to look back in TimeShift, up to 30 days is supported.
	TimeShiftDuration *uint64 `json:"TimeShiftDuration,omitnil,omitempty" name:"TimeShiftDuration"`

	// Enable DRM. This is only effective for CMAF protocol.
	DRMEnabled *bool `json:"DRMEnabled,omitnil,omitempty" name:"DRMEnabled"`

	// DRM configuration information.
	DRMInfo *DRMInfo `json:"DRMInfo,omitnil,omitempty" name:"DRMInfo"`
}

type CreateStreamPackageChannelEndpointRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Endpoint name, which must contain 1 to 32 characters and supports digits, letters, and underscores
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Authentication information
	AuthInfo *EndpointAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`

	// Endpoint protocol type, supports HLS, DASH, CMAF (only HLS type input can create CMAF Endpoint).
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Mainifest name, default is main.
	Manifest *string `json:"Manifest,omitnil,omitempty" name:"Manifest"`

	// Whether to turn on the TimeShift function, true: on, false: off, the default is off.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// The number of days to look back in TimeShift, up to 30 days is supported.
	TimeShiftDuration *uint64 `json:"TimeShiftDuration,omitnil,omitempty" name:"TimeShiftDuration"`

	// Enable DRM. This is only effective for CMAF protocol.
	DRMEnabled *bool `json:"DRMEnabled,omitnil,omitempty" name:"DRMEnabled"`

	// DRM configuration information.
	DRMInfo *DRMInfo `json:"DRMInfo,omitnil,omitempty" name:"DRMInfo"`
}

func (r *CreateStreamPackageChannelEndpointRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageChannelEndpointRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "AuthInfo")
	delete(f, "Protocol")
	delete(f, "Manifest")
	delete(f, "TimeShiftEnable")
	delete(f, "TimeShiftDuration")
	delete(f, "DRMEnabled")
	delete(f, "DRMInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageChannelEndpointRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageChannelEndpointResponseParams struct {
	// Information of the created channel endpoint
	Info *EndpointInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageChannelEndpointResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageChannelEndpointResponseParams `json:"Response"`
}

func (r *CreateStreamPackageChannelEndpointResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageChannelEndpointResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageChannelRequestParams struct {
	// Channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Channel protocol. Valid values: HLS/DASH.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Cache configuration.
	CacheInfo *CacheInfo `json:"CacheInfo,omitnil,omitempty" name:"CacheInfo"`
}

type CreateStreamPackageChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Channel protocol. Valid values: HLS/DASH.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Cache configuration.
	CacheInfo *CacheInfo `json:"CacheInfo,omitnil,omitempty" name:"CacheInfo"`
}

func (r *CreateStreamPackageChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Protocol")
	delete(f, "CacheInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageChannelResponseParams struct {
	// Channel information
	Info *ChannelInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageChannelResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageChannelResponseParams `json:"Response"`
}

func (r *CreateStreamPackageChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageHarvestJobRequestParams struct {
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`

	// The associated channel name.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// The associated endpoint name.
	EndpointName *string `json:"EndpointName,omitnil,omitempty" name:"EndpointName"`

	// Time format, supports the following types: 1. Epoch seconds 2. ISO-8601
	TimeFormat *string `json:"TimeFormat,omitnil,omitempty" name:"TimeFormat"`

	// Task start time supports two formats for TimeFormat input: 1. Epoch seconds: The input box is a numeric input box, and only positive integers can be entered. 2. ISO-8601: The supported format is ISO time, for example: 2023-08-01T10:00:00+08:00.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Task end time supports two formats for TimeFormat input: 1. Epoch seconds: The input box is a numeric input box, and only positive integers can be entered. 2. ISO-8601: The supported format is ISO time, for example: 2023-08-01T10:00:00+08:00.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// The path where the recording file is stored in Cos.
	Destination *string `json:"Destination,omitnil,omitempty" name:"Destination"`

	// The file name of the recording file stored in Cos.
	Manifest *string `json:"Manifest,omitnil,omitempty" name:"Manifest"`
}

type CreateStreamPackageHarvestJobRequest struct {
	*tchttp.BaseRequest
	
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`

	// The associated channel name.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// The associated endpoint name.
	EndpointName *string `json:"EndpointName,omitnil,omitempty" name:"EndpointName"`

	// Time format, supports the following types: 1. Epoch seconds 2. ISO-8601
	TimeFormat *string `json:"TimeFormat,omitnil,omitempty" name:"TimeFormat"`

	// Task start time supports two formats for TimeFormat input: 1. Epoch seconds: The input box is a numeric input box, and only positive integers can be entered. 2. ISO-8601: The supported format is ISO time, for example: 2023-08-01T10:00:00+08:00.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Task end time supports two formats for TimeFormat input: 1. Epoch seconds: The input box is a numeric input box, and only positive integers can be entered. 2. ISO-8601: The supported format is ISO time, for example: 2023-08-01T10:00:00+08:00.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// The path where the recording file is stored in Cos.
	Destination *string `json:"Destination,omitnil,omitempty" name:"Destination"`

	// The file name of the recording file stored in Cos.
	Manifest *string `json:"Manifest,omitnil,omitempty" name:"Manifest"`
}

func (r *CreateStreamPackageHarvestJobRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageHarvestJobRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ID")
	delete(f, "ChannelName")
	delete(f, "EndpointName")
	delete(f, "TimeFormat")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "Destination")
	delete(f, "Manifest")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageHarvestJobRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageHarvestJobResponseParams struct {
	// HarvestJob information.
	Info *HarvestJobResp `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageHarvestJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageHarvestJobResponseParams `json:"Response"`
}

func (r *CreateStreamPackageHarvestJobResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageHarvestJobResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageLinearAssemblyChannelRequestParams struct {
	// Channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Define the characteristics of the channel. Standard supports live broadcast and on-demand sources. Basic only supports on-demand source arrangement. Optional values: Standard and Basic.
	Tier *string `json:"Tier,omitnil,omitempty" name:"Tier"`

	// The source switching modes in the channel are divided into Linear and Loop. Basic only supports Linear, and Standatd supports both.
	// Optional values: Linear, Standatd.
	PlaybackMode *string `json:"PlaybackMode,omitnil,omitempty" name:"PlaybackMode"`

	// Time shift enable switch, only valid when Tier is Standard.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// Time shift configuration, effective when the time shift switch is turned on.
	TimeShiftConf *TimeShiftInfo `json:"TimeShiftConf,omitnil,omitempty" name:"TimeShiftConf"`

	// Spacer configuration is only valid when PlaybackMode is Linear.
	SlateConf *SlateInfo `json:"SlateConf,omitnil,omitempty" name:"SlateConf"`

	// Output configuration.
	Outputs []*OutputReq `json:"Outputs,omitnil,omitempty" name:"Outputs"`
}

type CreateStreamPackageLinearAssemblyChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Define the characteristics of the channel. Standard supports live broadcast and on-demand sources. Basic only supports on-demand source arrangement. Optional values: Standard and Basic.
	Tier *string `json:"Tier,omitnil,omitempty" name:"Tier"`

	// The source switching modes in the channel are divided into Linear and Loop. Basic only supports Linear, and Standatd supports both.
	// Optional values: Linear, Standatd.
	PlaybackMode *string `json:"PlaybackMode,omitnil,omitempty" name:"PlaybackMode"`

	// Time shift enable switch, only valid when Tier is Standard.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// Time shift configuration, effective when the time shift switch is turned on.
	TimeShiftConf *TimeShiftInfo `json:"TimeShiftConf,omitnil,omitempty" name:"TimeShiftConf"`

	// Spacer configuration is only valid when PlaybackMode is Linear.
	SlateConf *SlateInfo `json:"SlateConf,omitnil,omitempty" name:"SlateConf"`

	// Output configuration.
	Outputs []*OutputReq `json:"Outputs,omitnil,omitempty" name:"Outputs"`
}

func (r *CreateStreamPackageLinearAssemblyChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageLinearAssemblyChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Tier")
	delete(f, "PlaybackMode")
	delete(f, "TimeShiftEnable")
	delete(f, "TimeShiftConf")
	delete(f, "SlateConf")
	delete(f, "Outputs")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageLinearAssemblyChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageLinearAssemblyChannelResponseParams struct {
	// channel information.
	Info *LinearAssemblyChannelInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageLinearAssemblyChannelResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageLinearAssemblyChannelResponseParams `json:"Response"`
}

func (r *CreateStreamPackageLinearAssemblyChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageLinearAssemblyChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageLinearAssemblyProgramRequestParams struct {
	// Program name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The bound channel.
	AttachedChannel *string `json:"AttachedChannel,omitnil,omitempty" name:"AttachedChannel"`

	// The type of arrangement target source is divided into live broadcast and on-demand VOD.
	// Optional values: Live, VOD.
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// The associated source location.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// The associated live broadcast or on-demand broadcast, source name, and location are globally unique.
	SourceName *string `json:"SourceName,omitnil,omitempty" name:"SourceName"`

	// PlaybackConf.
	PlaybackConf *PlaybackInfoReq `json:"PlaybackConf,omitnil,omitempty" name:"PlaybackConf"`

	// AdBreaks is only valid when the source type is Vod.
	AdBreaks []*AdBreakInfo `json:"AdBreaks,omitnil,omitempty" name:"AdBreaks"`
}

type CreateStreamPackageLinearAssemblyProgramRequest struct {
	*tchttp.BaseRequest
	
	// Program name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The bound channel.
	AttachedChannel *string `json:"AttachedChannel,omitnil,omitempty" name:"AttachedChannel"`

	// The type of arrangement target source is divided into live broadcast and on-demand VOD.
	// Optional values: Live, VOD.
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// The associated source location.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// The associated live broadcast or on-demand broadcast, source name, and location are globally unique.
	SourceName *string `json:"SourceName,omitnil,omitempty" name:"SourceName"`

	// PlaybackConf.
	PlaybackConf *PlaybackInfoReq `json:"PlaybackConf,omitnil,omitempty" name:"PlaybackConf"`

	// AdBreaks is only valid when the source type is Vod.
	AdBreaks []*AdBreakInfo `json:"AdBreaks,omitnil,omitempty" name:"AdBreaks"`
}

func (r *CreateStreamPackageLinearAssemblyProgramRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageLinearAssemblyProgramRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "AttachedChannel")
	delete(f, "SourceType")
	delete(f, "SourceLocationId")
	delete(f, "SourceName")
	delete(f, "PlaybackConf")
	delete(f, "AdBreaks")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageLinearAssemblyProgramRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageLinearAssemblyProgramResponseParams struct {
	// channel information.
	Info *LinearAssemblyProgramInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageLinearAssemblyProgramResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageLinearAssemblyProgramResponseParams `json:"Response"`
}

func (r *CreateStreamPackageLinearAssemblyProgramResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageLinearAssemblyProgramResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageSSAIChannelRequestParams struct {
	// Ad insertion configuration name, globally unique, cannot be repeated with other configurations
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Source stream url prefix
	ContentSource *string `json:"ContentSource,omitnil,omitempty" name:"ContentSource"`

	// Ad insertion configuration information
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`
}

type CreateStreamPackageSSAIChannelRequest struct {
	*tchttp.BaseRequest
	
	// Ad insertion configuration name, globally unique, cannot be repeated with other configurations
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Source stream url prefix
	ContentSource *string `json:"ContentSource,omitnil,omitempty" name:"ContentSource"`

	// Ad insertion configuration information
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`
}

func (r *CreateStreamPackageSSAIChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageSSAIChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "ContentSource")
	delete(f, "SSAIInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageSSAIChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageSSAIChannelResponseParams struct {
	// Ad insertion configuration information
	Info *SSAIChannelInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageSSAIChannelResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageSSAIChannelResponseParams `json:"Response"`
}

func (r *CreateStreamPackageSSAIChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageSSAIChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageSourceLocationRequestParams struct {
	// SourceLocation name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// BaseUrl.
	BaseUrl *string `json:"BaseUrl,omitnil,omitempty" name:"BaseUrl"`

	// Whether to enable patching.
	SegmentDeliverEnable *bool `json:"SegmentDeliverEnable,omitnil,omitempty" name:"SegmentDeliverEnable"`

	// Patch configuration.
	SegmentDeliverConf *SegmentDeliverInfo `json:"SegmentDeliverConf,omitnil,omitempty" name:"SegmentDeliverConf"`

	// Whether to enable package distribution sharding, it is enabled by default.
	SegmentDeliverUsePackageEnable *bool `json:"SegmentDeliverUsePackageEnable,omitnil,omitempty" name:"SegmentDeliverUsePackageEnable"`
}

type CreateStreamPackageSourceLocationRequest struct {
	*tchttp.BaseRequest
	
	// SourceLocation name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// BaseUrl.
	BaseUrl *string `json:"BaseUrl,omitnil,omitempty" name:"BaseUrl"`

	// Whether to enable patching.
	SegmentDeliverEnable *bool `json:"SegmentDeliverEnable,omitnil,omitempty" name:"SegmentDeliverEnable"`

	// Patch configuration.
	SegmentDeliverConf *SegmentDeliverInfo `json:"SegmentDeliverConf,omitnil,omitempty" name:"SegmentDeliverConf"`

	// Whether to enable package distribution sharding, it is enabled by default.
	SegmentDeliverUsePackageEnable *bool `json:"SegmentDeliverUsePackageEnable,omitnil,omitempty" name:"SegmentDeliverUsePackageEnable"`
}

func (r *CreateStreamPackageSourceLocationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageSourceLocationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "BaseUrl")
	delete(f, "SegmentDeliverEnable")
	delete(f, "SegmentDeliverConf")
	delete(f, "SegmentDeliverUsePackageEnable")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageSourceLocationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageSourceLocationResponseParams struct {
	// SourceLocation information.
	Info *SourceLocationInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageSourceLocationResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageSourceLocationResponseParams `json:"Response"`
}

func (r *CreateStreamPackageSourceLocationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageSourceLocationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageSourceRequestParams struct {
	// The location id to which this source belongs is required and uniquely bound to one location.
	AttachedLocation *string `json:"AttachedLocation,omitnil,omitempty" name:"AttachedLocation"`

	// Source name, globally unique under location.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Distinguish between live broadcast and on-demand VOD source types. Optional values: Live, VOD.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// source specific configuration.
	PackageConfs []*SourcePackageConf `json:"PackageConfs,omitnil,omitempty" name:"PackageConfs"`

	// The sourcetag allows ADS to deliver more precise ads based on the Source Tag information
	SourceTags []*SourceTag `json:"SourceTags,omitnil,omitempty" name:"SourceTags"`
}

type CreateStreamPackageSourceRequest struct {
	*tchttp.BaseRequest
	
	// The location id to which this source belongs is required and uniquely bound to one location.
	AttachedLocation *string `json:"AttachedLocation,omitnil,omitempty" name:"AttachedLocation"`

	// Source name, globally unique under location.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Distinguish between live broadcast and on-demand VOD source types. Optional values: Live, VOD.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// source specific configuration.
	PackageConfs []*SourcePackageConf `json:"PackageConfs,omitnil,omitempty" name:"PackageConfs"`

	// The sourcetag allows ADS to deliver more precise ads based on the Source Tag information
	SourceTags []*SourceTag `json:"SourceTags,omitnil,omitempty" name:"SourceTags"`
}

func (r *CreateStreamPackageSourceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageSourceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AttachedLocation")
	delete(f, "Name")
	delete(f, "Type")
	delete(f, "PackageConfs")
	delete(f, "SourceTags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageSourceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageSourceResponseParams struct {
	// Source information.
	Info *SourceInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageSourceResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageSourceResponseParams `json:"Response"`
}

func (r *CreateStreamPackageSourceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageSourceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageVodRemuxTaskRequestParams struct {
	// VOD remux task name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The supported remuxing formats for VOD remux tasks.
	// Optional values: WEBVTT.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Input configuration.
	InputFileInfo *InputFileInfo `json:"InputFileInfo,omitnil,omitempty" name:"InputFileInfo"`

	// Output configuration.
	OutputStorage *OutputStorage `json:"OutputStorage,omitnil,omitempty" name:"OutputStorage"`
}

type CreateStreamPackageVodRemuxTaskRequest struct {
	*tchttp.BaseRequest
	
	// VOD remux task name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The supported remuxing formats for VOD remux tasks.
	// Optional values: WEBVTT.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Input configuration.
	InputFileInfo *InputFileInfo `json:"InputFileInfo,omitnil,omitempty" name:"InputFileInfo"`

	// Output configuration.
	OutputStorage *OutputStorage `json:"OutputStorage,omitnil,omitempty" name:"OutputStorage"`
}

func (r *CreateStreamPackageVodRemuxTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageVodRemuxTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Type")
	delete(f, "InputFileInfo")
	delete(f, "OutputStorage")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStreamPackageVodRemuxTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStreamPackageVodRemuxTaskResponseParams struct {
	// Vod remux task information.
	Info *VodRemuxTaskInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStreamPackageVodRemuxTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateStreamPackageVodRemuxTaskResponseParams `json:"Response"`
}

func (r *CreateStreamPackageVodRemuxTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStreamPackageVodRemuxTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DRMInfo struct {
	// Encryption method, optional values: `CBCS`, `CENC`.
	EncryptionMethod *string `json:"EncryptionMethod,omitnil,omitempty" name:"EncryptionMethod"`

	// DRM system providers, when the encryption method is CBCS, the optional values are `PlayReady`, `Widevine`, `FairPlay`; when the encryption method is CENC, the oprional values are `PlayReady`, `Widevine`.
	DRMSystems []*string `json:"DRMSystems,omitnil,omitempty" name:"DRMSystems"`

	// The resource ID sent to the key server. It can contain 1 to 128 characters, including numbers, letters, underscores (_), and hyphens (-).
	ResourceID *string `json:"ResourceID,omitnil,omitempty" name:"ResourceID"`

	// Key server address; must start with https://.
	KeyServerUrl *string `json:"KeyServerUrl,omitnil,omitempty" name:"KeyServerUrl"`

	// Video encryption presets, options: 
	// `Preset Video 1` - Encrypts all video tracks with one key
	// `Preset Video 2` - Encrypts SD and HD video tracks with 2 different keys
	// `Preset Video 3` - Encrypts SD, HD and UHD video tracks with 3 different keys
	// `Preset Video 4` - Encrypts SD, HD, UHD1 and UHD2 video tracks with 4 different keys
	// `Preset Video 5` - Encrypts SD, HD1, HD2, UHD1 and UHD2 video tracks with 5 different keys
	// `Preset Video 6` - Encrypts SD, HD1, HD2, UHD video tracks with 4 different keys
	// `Preset Video 7` - Encrypts SD + HD1, HD2, UHD video tracks with 3 different keys
	// `Preset Video 8` - Encrypts SD + HD1, HD2, UHD1, UHD2 video tracks with 4 different keys
	// `Shared` - Encrypts all video and audio tracks with one key
	// `Unencrypted` - Does not encrypt any track
	VideoEncryptionPreset *string `json:"VideoEncryptionPreset,omitnil,omitempty" name:"VideoEncryptionPreset"`

	// Audio encryption presets, options:
	// `Preset Audio 1` - Encrypts all audio tracks with one key
	// `Preset Audio 2` - Encrypts STEREO and MULTICHANNEL audio tracks with 2 different keys
	// `Preset Audio 3` - Encrypts STEREO, MULTICHANNEL 3-6 and MULTICHANNEL 7 audio tracks with 3 different keys
	// `Shared` - Encrypts all video and audio tracks with one key
	// `Unencrypted` - Does not encrypt any track
	AudioEncryptionPreset *string `json:"AudioEncryptionPreset,omitnil,omitempty" name:"AudioEncryptionPreset"`

	// Optional, used together with the key to encrypt the content; a 128-bit, 32-character, hexadecimal-encoded string.
	ConstantInitializationVector *string `json:"ConstantInitializationVector,omitnil,omitempty" name:"ConstantInitializationVector"`

	// Optional, specifies the rotation interval in seconds; empty, or an integer between 300-2592000.
	KeyRotationInterval *int64 `json:"KeyRotationInterval,omitnil,omitempty" name:"KeyRotationInterval"`
}

type DashManifestInfo struct {
	// The total duration of each manifest in seconds. [30, 3600], type: integer, default value 60.
	Windows *int64 `json:"Windows,omitnil,omitempty" name:"Windows"`

	// The minimum cache time (in seconds) that the player keeps in the buffer. [2, 60], type: integer, default value 30.
	MinBufferTime *int64 `json:"MinBufferTime,omitnil,omitempty" name:"MinBufferTime"`

	// The minimum time (in seconds) that the player should wait before requesting an update to the manifest. [2, 60], type: integer, default value 2.
	MinUpdatePeriod *int64 `json:"MinUpdatePeriod,omitnil,omitempty" name:"MinUpdatePeriod"`

	// The time from the latest live broadcast time point when the player starts broadcasting is a rollback amount (in seconds). [2, 60], type: integer, default value 10.
	SuggestedPresentationDelay *int64 `json:"SuggestedPresentationDelay,omitnil,omitempty" name:"SuggestedPresentationDelay"`
}

// Predefined struct for user
type DeleteStreamPackageChannelEndpointsRequestParams struct {
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// List of the URLs of the endpoints to delete
	Urls []*string `json:"Urls,omitnil,omitempty" name:"Urls"`
}

type DeleteStreamPackageChannelEndpointsRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// List of the URLs of the endpoints to delete
	Urls []*string `json:"Urls,omitnil,omitempty" name:"Urls"`
}

func (r *DeleteStreamPackageChannelEndpointsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageChannelEndpointsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Urls")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageChannelEndpointsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageChannelEndpointsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageChannelEndpointsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageChannelEndpointsResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageChannelEndpointsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageChannelEndpointsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageChannelsRequestParams struct {
	// List of the IDs of the channels to delete
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteStreamPackageChannelsRequest struct {
	*tchttp.BaseRequest
	
	// List of the IDs of the channels to delete
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteStreamPackageChannelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageChannelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageChannelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageChannelsResponseParams struct {
	// List of the information of successfully deleted channels
	SuccessInfos []*ChannelInfo `json:"SuccessInfos,omitnil,omitempty" name:"SuccessInfos"`

	// List of the information of the channels that failed to be deleted
	FailInfos []*ChannelInfo `json:"FailInfos,omitnil,omitempty" name:"FailInfos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageChannelsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageChannelsResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageChannelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageChannelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageHarvestJobRequestParams struct {
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

type DeleteStreamPackageHarvestJobRequest struct {
	*tchttp.BaseRequest
	
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *DeleteStreamPackageHarvestJobRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageHarvestJobRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageHarvestJobRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageHarvestJobResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageHarvestJobResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageHarvestJobResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageHarvestJobResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageHarvestJobResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageHarvestJobsRequestParams struct {
	// HarvestJob IDs, id is a globally unique identifier.
	IDs []*string `json:"IDs,omitnil,omitempty" name:"IDs"`
}

type DeleteStreamPackageHarvestJobsRequest struct {
	*tchttp.BaseRequest
	
	// HarvestJob IDs, id is a globally unique identifier.
	IDs []*string `json:"IDs,omitnil,omitempty" name:"IDs"`
}

func (r *DeleteStreamPackageHarvestJobsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageHarvestJobsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IDs")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageHarvestJobsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageHarvestJobsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageHarvestJobsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageHarvestJobsResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageHarvestJobsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageHarvestJobsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyChannelRequestParams struct {
	// channel id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteStreamPackageLinearAssemblyChannelRequest struct {
	*tchttp.BaseRequest
	
	// channel id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DeleteStreamPackageLinearAssemblyChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageLinearAssemblyChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageLinearAssemblyChannelResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageLinearAssemblyChannelResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageLinearAssemblyChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyChannelsRequestParams struct {
	// List of channel ids.
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteStreamPackageLinearAssemblyChannelsRequest struct {
	*tchttp.BaseRequest
	
	// List of channel ids.
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteStreamPackageLinearAssemblyChannelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyChannelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageLinearAssemblyChannelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyChannelsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageLinearAssemblyChannelsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageLinearAssemblyChannelsResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageLinearAssemblyChannelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyChannelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyProgramRequestParams struct {
	// Program id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteStreamPackageLinearAssemblyProgramRequest struct {
	*tchttp.BaseRequest
	
	// Program id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DeleteStreamPackageLinearAssemblyProgramRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyProgramRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageLinearAssemblyProgramRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyProgramResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageLinearAssemblyProgramResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageLinearAssemblyProgramResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageLinearAssemblyProgramResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyProgramResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyProgramsRequestParams struct {
	// Program id list.
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteStreamPackageLinearAssemblyProgramsRequest struct {
	*tchttp.BaseRequest
	
	// Program id list.
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteStreamPackageLinearAssemblyProgramsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyProgramsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageLinearAssemblyProgramsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageLinearAssemblyProgramsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageLinearAssemblyProgramsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageLinearAssemblyProgramsResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageLinearAssemblyProgramsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageLinearAssemblyProgramsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageSSAIChannelRequestParams struct {
	// Ad insertion configuration ID that needs to be deleted
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

type DeleteStreamPackageSSAIChannelRequest struct {
	*tchttp.BaseRequest
	
	// Ad insertion configuration ID that needs to be deleted
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *DeleteStreamPackageSSAIChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageSSAIChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageSSAIChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageSSAIChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageSSAIChannelResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageSSAIChannelResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageSSAIChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageSSAIChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageSourceLocationRequestParams struct {
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteStreamPackageSourceLocationRequest struct {
	*tchttp.BaseRequest
	
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DeleteStreamPackageSourceLocationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageSourceLocationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageSourceLocationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageSourceLocationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageSourceLocationResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageSourceLocationResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageSourceLocationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageSourceLocationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageSourceRequestParams struct {
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteStreamPackageSourceRequest struct {
	*tchttp.BaseRequest
	
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DeleteStreamPackageSourceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageSourceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageSourceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageSourceResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageSourceResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageSourceResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageSourceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageSourceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageVodRemuxTaskRequestParams struct {
	// VOD task Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteStreamPackageVodRemuxTaskRequest struct {
	*tchttp.BaseRequest
	
	// VOD task Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DeleteStreamPackageVodRemuxTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageVodRemuxTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageVodRemuxTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageVodRemuxTaskResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageVodRemuxTaskResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageVodRemuxTaskResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageVodRemuxTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageVodRemuxTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageVodRemuxTasksRequestParams struct {
	// List of VOD remux task ids.
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteStreamPackageVodRemuxTasksRequest struct {
	*tchttp.BaseRequest
	
	// List of VOD remux task ids.
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteStreamPackageVodRemuxTasksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageVodRemuxTasksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteStreamPackageVodRemuxTasksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteStreamPackageVodRemuxTasksResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteStreamPackageVodRemuxTasksResponse struct {
	*tchttp.BaseResponse
	Response *DeleteStreamPackageVodRemuxTasksResponseParams `json:"Response"`
}

func (r *DeleteStreamPackageVodRemuxTasksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteStreamPackageVodRemuxTasksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLinearAssemblyCDNDomainWithChannelRequestParams struct {
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`
}

type DescribeLinearAssemblyCDNDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`
}

func (r *DescribeLinearAssemblyCDNDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLinearAssemblyCDNDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLinearAssemblyCDNDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLinearAssemblyCDNDomainWithChannelResponseParams struct {
	// The CDN domain name information associated with the channel.
	Info *CdnDomainInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLinearAssemblyCDNDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLinearAssemblyCDNDomainWithChannelResponseParams `json:"Response"`
}

func (r *DescribeLinearAssemblyCDNDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLinearAssemblyCDNDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLinearAssemblyCDNDomainWithChannelsRequestParams struct {

}

type DescribeLinearAssemblyCDNDomainWithChannelsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLinearAssemblyCDNDomainWithChannelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLinearAssemblyCDNDomainWithChannelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLinearAssemblyCDNDomainWithChannelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLinearAssemblyCDNDomainWithChannelsResponseParams struct {
	// The CDN domain name information associated with the channel.
	Info *CdnDomainInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLinearAssemblyCDNDomainWithChannelsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLinearAssemblyCDNDomainWithChannelsResponseParams `json:"Response"`
}

func (r *DescribeLinearAssemblyCDNDomainWithChannelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLinearAssemblyCDNDomainWithChannelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageChannelRequestParams struct {
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeStreamPackageChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeStreamPackageChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageChannelResponseParams struct {
	// Channel information
	Info *ChannelInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageChannelResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageChannelResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageChannelsRequestParams struct {
	// Page number. Value range: [1, 1000]
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Number of entries per page. Value range: [1, 1000]
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageChannelsRequest struct {
	*tchttp.BaseRequest
	
	// Page number. Value range: [1, 1000]
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Number of entries per page. Value range: [1, 1000]
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageChannelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageChannelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageChannelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageChannelsResponseParams struct {
	// List of channel information
	// Note: this field may return `null`, indicating that no valid value was found.
	Infos []*ChannelInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Page number
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Number of entries per page
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Total number of entries
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// Total number of pages
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageChannelsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageChannelsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageChannelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageChannelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageHarvestJobRequestParams struct {
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

type DescribeStreamPackageHarvestJobRequest struct {
	*tchttp.BaseRequest
	
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *DescribeStreamPackageHarvestJobRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageHarvestJobRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageHarvestJobRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageHarvestJobResponseParams struct {
	// HarvestJob information.
	Info *HarvestJobResp `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageHarvestJobResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageHarvestJobResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageHarvestJobResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageHarvestJobResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageHarvestJobsRequestParams struct {
	// The bound channel name. If not passed, all channels will be queried by default.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// Page number.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// PageSize.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageHarvestJobsRequest struct {
	*tchttp.BaseRequest
	
	// The bound channel name. If not passed, all channels will be queried by default.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// Page number.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// PageSize.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageHarvestJobsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageHarvestJobsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelName")
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageHarvestJobsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageHarvestJobsResponseParams struct {
	// HarvestJob information list.
	Infos []*HarvestJobResp `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Page number.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// PageSize
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// TotalNum
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageHarvestJobsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageHarvestJobsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageHarvestJobsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageHarvestJobsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyChannelAlertsRequestParams struct {
	// Channel ID.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Query start time, Unix timestamp, supports queries in the last seven days.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Query end time, Unix timestamp, supports queries in the last seven days.
	EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeStreamPackageLinearAssemblyChannelAlertsRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Query start time, Unix timestamp, supports queries in the last seven days.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Query end time, Unix timestamp, supports queries in the last seven days.
	EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

func (r *DescribeStreamPackageLinearAssemblyChannelAlertsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyChannelAlertsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "StartTime")
	delete(f, "EndTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageLinearAssemblyChannelAlertsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyChannelAlertsResponseParams struct {
	// Channel alarm information.
	Infos *ChannelAlertResp `json:"Infos,omitnil,omitempty" name:"Infos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageLinearAssemblyChannelAlertsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageLinearAssemblyChannelAlertsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageLinearAssemblyChannelAlertsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyChannelAlertsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyChannelRequestParams struct {
	// channel id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeStreamPackageLinearAssemblyChannelRequest struct {
	*tchttp.BaseRequest
	
	// channel id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeStreamPackageLinearAssemblyChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageLinearAssemblyChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyChannelResponseParams struct {
	// Channel information.
	Info *LinearAssemblyChannelInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageLinearAssemblyChannelResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageLinearAssemblyChannelResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageLinearAssemblyChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyChannelsRequestParams struct {
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageLinearAssemblyChannelsRequest struct {
	*tchttp.BaseRequest
	
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageLinearAssemblyChannelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyChannelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageLinearAssemblyChannelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyChannelsResponseParams struct {
	// Channel list.
	Infos []*LinearAssemblyChannelInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Number of pages.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Size per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// The total amount.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// total pages.
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageLinearAssemblyChannelsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageLinearAssemblyChannelsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageLinearAssemblyChannelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyChannelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyProgramRequestParams struct {
	// program id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeStreamPackageLinearAssemblyProgramRequest struct {
	*tchttp.BaseRequest
	
	// program id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeStreamPackageLinearAssemblyProgramRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyProgramRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageLinearAssemblyProgramRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyProgramResponseParams struct {
	// Program information.
	Info *LinearAssemblyProgramInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageLinearAssemblyProgramResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageLinearAssemblyProgramResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageLinearAssemblyProgramResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyProgramResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyProgramSchedulesRequestParams struct {
	// Query all Programs under a Channel.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Window duration information, in seconds.
	TimeWindow *uint64 `json:"TimeWindow,omitnil,omitempty" name:"TimeWindow"`

	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageLinearAssemblyProgramSchedulesRequest struct {
	*tchttp.BaseRequest
	
	// Query all Programs under a Channel.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Window duration information, in seconds.
	TimeWindow *uint64 `json:"TimeWindow,omitnil,omitempty" name:"TimeWindow"`

	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageLinearAssemblyProgramSchedulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyProgramSchedulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "TimeWindow")
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageLinearAssemblyProgramSchedulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyProgramSchedulesResponseParams struct {
	// Program's scheduling list.
	Infos []*LinearAssemblyProgramInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Number of pages.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Size per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// The total amount.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// Total pages.
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageLinearAssemblyProgramSchedulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageLinearAssemblyProgramSchedulesResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageLinearAssemblyProgramSchedulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyProgramSchedulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyProgramsRequestParams struct {
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Query all Programs under a Channel.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`
}

type DescribeStreamPackageLinearAssemblyProgramsRequest struct {
	*tchttp.BaseRequest
	
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Query all Programs under a Channel.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`
}

func (r *DescribeStreamPackageLinearAssemblyProgramsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyProgramsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	delete(f, "ChannelId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageLinearAssemblyProgramsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageLinearAssemblyProgramsResponseParams struct {
	// Program list.
	Infos []*LinearAssemblyProgramInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Number of pages.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Size per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// The total amount.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// total pages.
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageLinearAssemblyProgramsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageLinearAssemblyProgramsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageLinearAssemblyProgramsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageLinearAssemblyProgramsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSSAIChannelRequestParams struct {
	// Ad insertion configuration ID
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

type DescribeStreamPackageSSAIChannelRequest struct {
	*tchttp.BaseRequest
	
	// Ad insertion configuration ID
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *DescribeStreamPackageSSAIChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSSAIChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSSAIChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSSAIChannelResponseParams struct {
	// Ad insertion configuration information
	Info *SSAIChannelInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSSAIChannelResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSSAIChannelResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSSAIChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSSAIChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSSAIChannelsRequestParams struct {
	// Page number, default is 1
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Page size, default is 10
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageSSAIChannelsRequest struct {
	*tchttp.BaseRequest
	
	// Page number, default is 1
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Page size, default is 10
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageSSAIChannelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSSAIChannelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSSAIChannelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSSAIChannelsResponseParams struct {
	// Ad insertion configuration information.
	Infos []*SSAIChannelInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Page number
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Page size
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Total number
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSSAIChannelsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSSAIChannelsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSSAIChannelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSSAIChannelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSSAIUsageRequestParams struct {
	// Start time.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Specifies the channel id you want to query.
	ChannelIds []*string `json:"ChannelIds,omitnil,omitempty" name:"ChannelIds"`

	// Specifies the ad type you want to query. valid values: Preroll/Midroll. if empty, query all types by default.
	Types []*string `json:"Types,omitnil,omitempty" name:"Types"`
}

type DescribeStreamPackageSSAIUsageRequest struct {
	*tchttp.BaseRequest
	
	// Start time.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Specifies the channel id you want to query.
	ChannelIds []*string `json:"ChannelIds,omitnil,omitempty" name:"ChannelIds"`

	// Specifies the ad type you want to query. valid values: Preroll/Midroll. if empty, query all types by default.
	Types []*string `json:"Types,omitnil,omitempty" name:"Types"`
}

func (r *DescribeStreamPackageSSAIUsageRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSSAIUsageRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "ChannelIds")
	delete(f, "Types")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSSAIUsageRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSSAIUsageResponseParams struct {
	// SSAI usage information.
	Info *SSAIUsageInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSSAIUsageResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSSAIUsageResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSSAIUsageResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSSAIUsageResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceAlertsRequestParams struct {
	// Source ID.
	SourceId *string `json:"SourceId,omitnil,omitempty" name:"SourceId"`

	// Query start time, Unix timestamp, supports queries in the last seven days.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Query end time, Unix timestamp, supports queries in the last seven days.
	EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeStreamPackageSourceAlertsRequest struct {
	*tchttp.BaseRequest
	
	// Source ID.
	SourceId *string `json:"SourceId,omitnil,omitempty" name:"SourceId"`

	// Query start time, Unix timestamp, supports queries in the last seven days.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Query end time, Unix timestamp, supports queries in the last seven days.
	EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

func (r *DescribeStreamPackageSourceAlertsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceAlertsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SourceId")
	delete(f, "StartTime")
	delete(f, "EndTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSourceAlertsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceAlertsResponseParams struct {
	// Source alarm information.
	Infos []*SourceAlert `json:"Infos,omitnil,omitempty" name:"Infos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSourceAlertsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSourceAlertsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSourceAlertsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceAlertsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceLocationAlertsRequestParams struct {
	// Location ID.
	LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"`
}

type DescribeStreamPackageSourceLocationAlertsRequest struct {
	*tchttp.BaseRequest
	
	// Location ID.
	LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"`
}

func (r *DescribeStreamPackageSourceLocationAlertsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceLocationAlertsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LocationId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSourceLocationAlertsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceLocationAlertsResponseParams struct {
	// Location alarm information.
	Infos []*LocationAlert `json:"Infos,omitnil,omitempty" name:"Infos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSourceLocationAlertsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSourceLocationAlertsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSourceLocationAlertsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceLocationAlertsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceLocationRequestParams struct {
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeStreamPackageSourceLocationRequest struct {
	*tchttp.BaseRequest
	
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeStreamPackageSourceLocationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceLocationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSourceLocationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceLocationResponseParams struct {
	// SourceLocation information.
	Info *SourceLocationInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSourceLocationResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSourceLocationResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSourceLocationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceLocationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceLocationsRequestParams struct {
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageSourceLocationsRequest struct {
	*tchttp.BaseRequest
	
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageSourceLocationsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceLocationsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSourceLocationsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceLocationsResponseParams struct {
	// SourceLocation list.
	Infos []*SourceLocationInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Number of pages.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Size per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// The total amount.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// total pages.
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSourceLocationsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSourceLocationsResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSourceLocationsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceLocationsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceRequestParams struct {
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeStreamPackageSourceRequest struct {
	*tchttp.BaseRequest
	
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeStreamPackageSourceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSourceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourceResponseParams struct {
	// Source information.
	Info *SourceInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSourceResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSourceResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSourceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourcesRequestParams struct {
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Location Id, query all sources under the location.
	LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"`

	// The type of source is divided into live broadcast and on-demand VOD.
	// Optional values: Live, VOD.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeStreamPackageSourcesRequest struct {
	*tchttp.BaseRequest
	
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Location Id, query all sources under the location.
	LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"`

	// The type of source is divided into live broadcast and on-demand VOD.
	// Optional values: Live, VOD.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeStreamPackageSourcesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourcesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	delete(f, "LocationId")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageSourcesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageSourcesResponseParams struct {
	// Source list.
	Infos []*SourceInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Number of pages.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Size per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// The total amount.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// total pages.
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageSourcesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageSourcesResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageSourcesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageSourcesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageVodRemuxTaskRequestParams struct {
	// VOD remux task Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeStreamPackageVodRemuxTaskRequest struct {
	*tchttp.BaseRequest
	
	// VOD remux task Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeStreamPackageVodRemuxTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageVodRemuxTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageVodRemuxTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageVodRemuxTaskResponseParams struct {
	// VOD remux task information.
	Info *VodRemuxTaskInfo `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageVodRemuxTaskResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageVodRemuxTaskResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageVodRemuxTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageVodRemuxTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageVodRemuxTasksRequestParams struct {
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

type DescribeStreamPackageVodRemuxTasksRequest struct {
	*tchttp.BaseRequest
	
	// Paging query page number, the value range is [1, 1000].
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Paging query the size of each page, the value range is [1, 1000].
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`
}

func (r *DescribeStreamPackageVodRemuxTasksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageVodRemuxTasksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PageNum")
	delete(f, "PageSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStreamPackageVodRemuxTasksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStreamPackageVodRemuxTasksResponseParams struct {
	// VOD remux task lists.
	Infos []*VodRemuxTaskInfo `json:"Infos,omitnil,omitempty" name:"Infos"`

	// Number of pages.
	PageNum *uint64 `json:"PageNum,omitnil,omitempty" name:"PageNum"`

	// Size per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// The total amount.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// total pages.
	TotalPage *uint64 `json:"TotalPage,omitnil,omitempty" name:"TotalPage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStreamPackageVodRemuxTasksResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStreamPackageVodRemuxTasksResponseParams `json:"Response"`
}

func (r *DescribeStreamPackageVodRemuxTasksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStreamPackageVodRemuxTasksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DomainRecordInfo struct {

	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`


	Region *string `json:"Region,omitnil,omitempty" name:"Region"`


	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`


	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type EndpointAuthInfo struct {
	// The security group allowlist in CIDR format.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WhiteIpList []*string `json:"WhiteIpList,omitnil,omitempty" name:"WhiteIpList"`

	// The security group blocklist in CIDR format.
	// Note: this field may return null, indicating that no valid values can be obtained.
	BlackIpList []*string `json:"BlackIpList,omitnil,omitempty" name:"BlackIpList"`

	// The authentication key. Its value is same as `X-TENCENT-PACKAGE` set in the HTTP request header.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AuthKey *string `json:"AuthKey,omitnil,omitempty" name:"AuthKey"`
}

type EndpointInfo struct {
	// Endpoint name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Endpoint URL.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Endpoint authentication information.
	AuthInfo *EndpointAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`

	// Endpoint protocol, supports `HLS`, `CMAF`, `CMAF-HLS`.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Manifest name, default is main.
	Manifest *string `json:"Manifest,omitnil,omitempty" name:"Manifest"`

	// Whether to turn on the time shift function, true: on, false: off, the default is off.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// The number of days in the time shift window, up to 30 days. Valid when TimeShiftEnable is turned on.
	TimeShiftDuration *uint64 `json:"TimeShiftDuration,omitnil,omitempty" name:"TimeShiftDuration"`

	// Advertising insertion function switch.
	SSAIEnable *bool `json:"SSAIEnable,omitnil,omitempty" name:"SSAIEnable"`

	// Ad insertion function configuration information.
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`

	// The customer-defined url parameter is inserted into the subscript at the specified position of the Endpoint url. The optional range of the subscript is: [0,3].
	CustomUrlParamIndex *uint64 `json:"CustomUrlParamIndex,omitnil,omitempty" name:"CustomUrlParamIndex"`

	// Customer-defined url parameters are inserted into the specified position of the Endpoint url based on the CustomUrlParamIndex.
	// The parameters can only contain digits, letters, underscores (_), and hyphens (-), with a length of 1 to 64 chars.
	CustomUrlParam *string `json:"CustomUrlParam,omitnil,omitempty" name:"CustomUrlParam"`

	// DRM switch. If it is turned on, only CMAF will take effect.
	DRMEnabled *bool `json:"DRMEnabled,omitnil,omitempty" name:"DRMEnabled"`

	// DRM configuration information.
	DRMInfo *DRMInfo `json:"DRMInfo,omitnil,omitempty" name:"DRMInfo"`
}

type HarvestJobResp struct {
	// HarvestJob ID, a globally unique identifier.
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`

	// The associated channel name.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// The associated endpoint name.
	EndpointName *string `json:"EndpointName,omitnil,omitempty" name:"EndpointName"`

	// Time format, supports the following types: 1. Epoch seconds 2. ISO-8601
	TimeFormat *string `json:"TimeFormat,omitnil,omitempty" name:"TimeFormat"`

	// HarvestJob start time.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// HarvestJob end time.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// The path where the recording file is stored in COS.
	Destination *string `json:"Destination,omitnil,omitempty" name:"Destination"`

	// The file name of the recording file stored in COS.
	Manifest *string `json:"Manifest,omitnil,omitempty" name:"Manifest"`

	// The task status is divided into running: Running, execution completed: Completed, and execution failure: Failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// HarvestJob error message.
	ErrMessage *string `json:"ErrMessage,omitnil,omitempty" name:"ErrMessage"`

	// HarvestJob creation time, timestamp in seconds.
	CreateTime *uint64 `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// The associated ChannelID.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// The region corresponding to the harvest job.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`
}

type InputAuthInfo struct {
	// Username.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Password.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`
}

type InputFileInfo struct {
	// Input file Type. The input types include COS and URL.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// cos input informations. 
	CosInputInfo *CosInputInfo `json:"CosInputInfo,omitnil,omitempty" name:"CosInputInfo"`

	// input file url.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type InputInfo struct {
	// Channel input URL.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Channel input authentication information.
	AuthInfo *InputAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`
}

type LinearAssemblyChannelInfo struct {
	// Linear assembly channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Define the characteristics of the channel. Standard supports live broadcast and on-demand sources, while Basic only supports on-demand source arrangement.
	Tier *string `json:"Tier,omitnil,omitempty" name:"Tier"`

	// The source switching mode in the channel is divided into Linear and Loop. Live broadcast only supports Linear.
	PlaybackMode *string `json:"PlaybackMode,omitnil,omitempty" name:"PlaybackMode"`

	// Time shift configuration, vod is valid.
	TimeShiftConf *TimeShiftInfo `json:"TimeShiftConf,omitnil,omitempty" name:"TimeShiftConf"`

	// Spacer configuration.
	SlateConf *SlateInfo `json:"SlateConf,omitnil,omitempty" name:"SlateConf"`

	// output information.
	Outputs []*OutputInfo `json:"Outputs,omitnil,omitempty" name:"Outputs"`

	// List of programs bound to this channel.
	AttachedPrograms []*string `json:"AttachedPrograms,omitnil,omitempty" name:"AttachedPrograms"`

	// program information.
	ProgramSchedules []*ProgramScheduleInfo `json:"ProgramSchedules,omitnil,omitempty" name:"ProgramSchedules"`

	// ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// State.
	State *string `json:"State,omitnil,omitempty" name:"State"`

	// Time shift on switch.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// Channel creation time, unix seconds timestamp.
	CreateTime *uint64 `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type LinearAssemblyProgramInfo struct {
	// Channel linear assembly program information.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The type of the arrangement target source, divided into live broadcast and on-demand.
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// The associated source location id.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// SourceId, uniquely identifies a source.
	SourceId *string `json:"SourceId,omitnil,omitempty" name:"SourceId"`

	// The associated live broadcast or on-demand broadcast, source name, and location are globally unique.
	SourceName *string `json:"SourceName,omitnil,omitempty" name:"SourceName"`

	// The bound channel.
	AttachedChannel *string `json:"AttachedChannel,omitnil,omitempty" name:"AttachedChannel"`

	// Play configuration.
	PlaybackConf *PlaybackInfo `json:"PlaybackConf,omitnil,omitempty" name:"PlaybackConf"`

	// AdBreaks.
	AdBreaks []*AdBreakInfo `json:"AdBreaks,omitnil,omitempty" name:"AdBreaks"`

	// ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// SourceLocation name.
	SourceLocationName *string `json:"SourceLocationName,omitnil,omitempty" name:"SourceLocationName"`
}

type LocationAlert struct {
	// Location ID.
	LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"`

	// Alarm event code.
	Code *uint64 `json:"Code,omitnil,omitempty" name:"Code"`

	// Alarm classification.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Alarm message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Update time.
	LastModifiedTime *uint64 `json:"LastModifiedTime,omitnil,omitempty" name:"LastModifiedTime"`

	// Location name.
	LocationName *string `json:"LocationName,omitnil,omitempty" name:"LocationName"`
}

type ManifestInfo struct {
	// Time window, in seconds.
	Windows *uint64 `json:"Windows,omitnil,omitempty" name:"Windows"`

	// Enter the format of the output advertising tag. Optional values are: Date Range and Enhanced SCTE-35.
	AdMarkupType *string `json:"AdMarkupType,omitnil,omitempty" name:"AdMarkupType"`
}

type Metadata struct {
	// Key.
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Value.
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}

// Predefined struct for user
type ModifyStreamPackageChannelEndpointRequestParams struct {
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Channel endpoint URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// New endpoint name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// New channel authentication information
	AuthInfo *EndpointAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`

	// Endpoint protocol.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Whether to turn on the time shift function, true: on, false: off, the default is off.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// The number of days in the time shift window, up to 30 days. Valid when TimeShiftEnable is turned on.
	TimeShiftDuration *uint64 `json:"TimeShiftDuration,omitnil,omitempty" name:"TimeShiftDuration"`

	// Advertising insertion function switch.
	SSAIEnable *bool `json:"SSAIEnable,omitnil,omitempty" name:"SSAIEnable"`

	// Ad insertion function configuration information. Valid when SSAIEnable is turned on.
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`

	// The customer-defined url parameter is inserted into the subscript at the specified position of the Endpoint url. 
	// Calculation starts from the first '/' in the url path, and the subscript starts from 0, the optional range of the subscript is: [0,3].
	CustomUrlParamIndex *uint64 `json:"CustomUrlParamIndex,omitnil,omitempty" name:"CustomUrlParamIndex"`

	// Customer-defined url parameters are inserted into the specified position of the Endpoint url based on the CustomUrlParamIndex.
	// The parameters can only contain digits, letters, underscores (_), and hyphens (-), with a length of 1 to 64 chars.
	CustomUrlParam *string `json:"CustomUrlParam,omitnil,omitempty" name:"CustomUrlParam"`

	// Enable DRM. This is only effective for CMAF protocol.
	DRMEnabled *bool `json:"DRMEnabled,omitnil,omitempty" name:"DRMEnabled"`

	// DRM configuration information
	DRMInfo *DRMInfo `json:"DRMInfo,omitnil,omitempty" name:"DRMInfo"`
}

type ModifyStreamPackageChannelEndpointRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Channel endpoint URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// New endpoint name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// New channel authentication information
	AuthInfo *EndpointAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`

	// Endpoint protocol.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Whether to turn on the time shift function, true: on, false: off, the default is off.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// The number of days in the time shift window, up to 30 days. Valid when TimeShiftEnable is turned on.
	TimeShiftDuration *uint64 `json:"TimeShiftDuration,omitnil,omitempty" name:"TimeShiftDuration"`

	// Advertising insertion function switch.
	SSAIEnable *bool `json:"SSAIEnable,omitnil,omitempty" name:"SSAIEnable"`

	// Ad insertion function configuration information. Valid when SSAIEnable is turned on.
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`

	// The customer-defined url parameter is inserted into the subscript at the specified position of the Endpoint url. 
	// Calculation starts from the first '/' in the url path, and the subscript starts from 0, the optional range of the subscript is: [0,3].
	CustomUrlParamIndex *uint64 `json:"CustomUrlParamIndex,omitnil,omitempty" name:"CustomUrlParamIndex"`

	// Customer-defined url parameters are inserted into the specified position of the Endpoint url based on the CustomUrlParamIndex.
	// The parameters can only contain digits, letters, underscores (_), and hyphens (-), with a length of 1 to 64 chars.
	CustomUrlParam *string `json:"CustomUrlParam,omitnil,omitempty" name:"CustomUrlParam"`

	// Enable DRM. This is only effective for CMAF protocol.
	DRMEnabled *bool `json:"DRMEnabled,omitnil,omitempty" name:"DRMEnabled"`

	// DRM configuration information
	DRMInfo *DRMInfo `json:"DRMInfo,omitnil,omitempty" name:"DRMInfo"`
}

func (r *ModifyStreamPackageChannelEndpointRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageChannelEndpointRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Url")
	delete(f, "Name")
	delete(f, "AuthInfo")
	delete(f, "Protocol")
	delete(f, "TimeShiftEnable")
	delete(f, "TimeShiftDuration")
	delete(f, "SSAIEnable")
	delete(f, "SSAIInfo")
	delete(f, "CustomUrlParamIndex")
	delete(f, "CustomUrlParam")
	delete(f, "DRMEnabled")
	delete(f, "DRMInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageChannelEndpointRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageChannelEndpointResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageChannelEndpointResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageChannelEndpointResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageChannelEndpointResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageChannelEndpointResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageChannelInputAuthInfoRequestParams struct {
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Channel input URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Authentication configuration. Valid values: `CLOSE`, `UPDATE`
	// `CLOSE`: disable authentication
	// `UPDATE`: update authentication information
	ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"`
}

type ModifyStreamPackageChannelInputAuthInfoRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Channel input URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Authentication configuration. Valid values: `CLOSE`, `UPDATE`
	// `CLOSE`: disable authentication
	// `UPDATE`: update authentication information
	ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"`
}

func (r *ModifyStreamPackageChannelInputAuthInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageChannelInputAuthInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Url")
	delete(f, "ActionType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageChannelInputAuthInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageChannelInputAuthInfoResponseParams struct {
	// Channel input authentication information
	AuthInfo *InputAuthInfo `json:"AuthInfo,omitnil,omitempty" name:"AuthInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageChannelInputAuthInfoResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageChannelInputAuthInfoResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageChannelInputAuthInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageChannelInputAuthInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageChannelRequestParams struct {
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// New channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// New channel protocol. Valid values: HLS, DASH, CMAF.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Cache configuration.
	CacheInfo *CacheInfo `json:"CacheInfo,omitnil,omitempty" name:"CacheInfo"`
}

type ModifyStreamPackageChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// New channel name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// New channel protocol. Valid values: HLS, DASH, CMAF.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Cache configuration.
	CacheInfo *CacheInfo `json:"CacheInfo,omitnil,omitempty" name:"CacheInfo"`
}

func (r *ModifyStreamPackageChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "Protocol")
	delete(f, "CacheInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageChannelResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageChannelResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageLinearAssemblyChannelRequestParams struct {
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Define the characteristics of the channel. Standard supports live broadcast and on-demand sources, while Basic only supports on-demand source arrangement.
	Tier *string `json:"Tier,omitnil,omitempty" name:"Tier"`

	// The source switching mode in the channel is divided into Linear and Loop. Live broadcast only supports Linear.
	// Optional values: Linear, Loop.
	PlaybackMode *string `json:"PlaybackMode,omitnil,omitempty" name:"PlaybackMode"`

	// Time shift on switch.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// Time shift configuration.
	TimeShiftConf *TimeShiftInfo `json:"TimeShiftConf,omitnil,omitempty" name:"TimeShiftConf"`

	// padding configuration.
	SlateConf *SlateInfo `json:"SlateConf,omitnil,omitempty" name:"SlateConf"`

	// Output configuration.
	Outputs []*OutputInfo `json:"Outputs,omitnil,omitempty" name:"Outputs"`
}

type ModifyStreamPackageLinearAssemblyChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Define the characteristics of the channel. Standard supports live broadcast and on-demand sources, while Basic only supports on-demand source arrangement.
	Tier *string `json:"Tier,omitnil,omitempty" name:"Tier"`

	// The source switching mode in the channel is divided into Linear and Loop. Live broadcast only supports Linear.
	// Optional values: Linear, Loop.
	PlaybackMode *string `json:"PlaybackMode,omitnil,omitempty" name:"PlaybackMode"`

	// Time shift on switch.
	TimeShiftEnable *bool `json:"TimeShiftEnable,omitnil,omitempty" name:"TimeShiftEnable"`

	// Time shift configuration.
	TimeShiftConf *TimeShiftInfo `json:"TimeShiftConf,omitnil,omitempty" name:"TimeShiftConf"`

	// padding configuration.
	SlateConf *SlateInfo `json:"SlateConf,omitnil,omitempty" name:"SlateConf"`

	// Output configuration.
	Outputs []*OutputInfo `json:"Outputs,omitnil,omitempty" name:"Outputs"`
}

func (r *ModifyStreamPackageLinearAssemblyChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageLinearAssemblyChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "Tier")
	delete(f, "PlaybackMode")
	delete(f, "TimeShiftEnable")
	delete(f, "TimeShiftConf")
	delete(f, "SlateConf")
	delete(f, "Outputs")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageLinearAssemblyChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageLinearAssemblyChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageLinearAssemblyChannelResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageLinearAssemblyChannelResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageLinearAssemblyChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageLinearAssemblyChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageLinearAssemblyProgramRequestParams struct {
	// Program ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The type of the arrangement target source, divided into live broadcast and on-demand.
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// The associated source location.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// The associated live broadcast or on-demand broadcast, source name, and location are globally unique.
	SourceName *string `json:"SourceName,omitnil,omitempty" name:"SourceName"`

	// PlaybackConf.
	PlaybackConf *PlaybackInfoReq `json:"PlaybackConf,omitnil,omitempty" name:"PlaybackConf"`

	// AdBreaks.
	AdBreaks []*AdBreakInfo `json:"AdBreaks,omitnil,omitempty" name:"AdBreaks"`
}

type ModifyStreamPackageLinearAssemblyProgramRequest struct {
	*tchttp.BaseRequest
	
	// Program ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The type of the arrangement target source, divided into live broadcast and on-demand.
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// The associated source location.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// The associated live broadcast or on-demand broadcast, source name, and location are globally unique.
	SourceName *string `json:"SourceName,omitnil,omitempty" name:"SourceName"`

	// PlaybackConf.
	PlaybackConf *PlaybackInfoReq `json:"PlaybackConf,omitnil,omitempty" name:"PlaybackConf"`

	// AdBreaks.
	AdBreaks []*AdBreakInfo `json:"AdBreaks,omitnil,omitempty" name:"AdBreaks"`
}

func (r *ModifyStreamPackageLinearAssemblyProgramRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageLinearAssemblyProgramRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "SourceType")
	delete(f, "SourceLocationId")
	delete(f, "SourceName")
	delete(f, "PlaybackConf")
	delete(f, "AdBreaks")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageLinearAssemblyProgramRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageLinearAssemblyProgramResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageLinearAssemblyProgramResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageLinearAssemblyProgramResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageLinearAssemblyProgramResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageLinearAssemblyProgramResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageSSAIChannelRequestParams struct {
	// Ad insertion configuration name, globally unique, cannot be repeated.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content source prefix.
	ContentSource *string `json:"ContentSource,omitnil,omitempty" name:"ContentSource"`

	// Ad insertion configuration information
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`

	// Ad insertion configuration ID
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

type ModifyStreamPackageSSAIChannelRequest struct {
	*tchttp.BaseRequest
	
	// Ad insertion configuration name, globally unique, cannot be repeated.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content source prefix.
	ContentSource *string `json:"ContentSource,omitnil,omitempty" name:"ContentSource"`

	// Ad insertion configuration information
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`

	// Ad insertion configuration ID
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *ModifyStreamPackageSSAIChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageSSAIChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "ContentSource")
	delete(f, "SSAIInfo")
	delete(f, "ID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageSSAIChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageSSAIChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageSSAIChannelResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageSSAIChannelResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageSSAIChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageSSAIChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageSourceLocationRequestParams struct {
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// BaseUrl.
	BaseUrl *string `json:"BaseUrl,omitnil,omitempty" name:"BaseUrl"`

	// Whether to enable patching.
	SegmentDeliverEnable *bool `json:"SegmentDeliverEnable,omitnil,omitempty" name:"SegmentDeliverEnable"`

	// Patch configuration.
	SegmentDeliverConf *SegmentDeliverInfo `json:"SegmentDeliverConf,omitnil,omitempty" name:"SegmentDeliverConf"`

	// Whether to enable package distribution sharding, it is enabled by default.
	SegmentDeliverUsePackageEnable *bool `json:"SegmentDeliverUsePackageEnable,omitnil,omitempty" name:"SegmentDeliverUsePackageEnable"`
}

type ModifyStreamPackageSourceLocationRequest struct {
	*tchttp.BaseRequest
	
	// SourceLocation Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// BaseUrl.
	BaseUrl *string `json:"BaseUrl,omitnil,omitempty" name:"BaseUrl"`

	// Whether to enable patching.
	SegmentDeliverEnable *bool `json:"SegmentDeliverEnable,omitnil,omitempty" name:"SegmentDeliverEnable"`

	// Patch configuration.
	SegmentDeliverConf *SegmentDeliverInfo `json:"SegmentDeliverConf,omitnil,omitempty" name:"SegmentDeliverConf"`

	// Whether to enable package distribution sharding, it is enabled by default.
	SegmentDeliverUsePackageEnable *bool `json:"SegmentDeliverUsePackageEnable,omitnil,omitempty" name:"SegmentDeliverUsePackageEnable"`
}

func (r *ModifyStreamPackageSourceLocationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageSourceLocationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "BaseUrl")
	delete(f, "SegmentDeliverEnable")
	delete(f, "SegmentDeliverConf")
	delete(f, "SegmentDeliverUsePackageEnable")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageSourceLocationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageSourceLocationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageSourceLocationResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageSourceLocationResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageSourceLocationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageSourceLocationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageSourceRequestParams struct {
	// Source Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Distinguish between live broadcast and on-demand VOD source types.
	// Optional values: Live, VOD (on demand)
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// source configuration.
	PackageConfs []*SourcePackageConf `json:"PackageConfs,omitnil,omitempty" name:"PackageConfs"`

	// ADS can return more precise advertisements based on Source Tag information.
	SourceTags []*SourceTag `json:"SourceTags,omitnil,omitempty" name:"SourceTags"`
}

type ModifyStreamPackageSourceRequest struct {
	*tchttp.BaseRequest
	
	// Source Id.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Modified name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Distinguish between live broadcast and on-demand VOD source types.
	// Optional values: Live, VOD (on demand)
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// source configuration.
	PackageConfs []*SourcePackageConf `json:"PackageConfs,omitnil,omitempty" name:"PackageConfs"`

	// ADS can return more precise advertisements based on Source Tag information.
	SourceTags []*SourceTag `json:"SourceTags,omitnil,omitempty" name:"SourceTags"`
}

func (r *ModifyStreamPackageSourceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageSourceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "Type")
	delete(f, "PackageConfs")
	delete(f, "SourceTags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyStreamPackageSourceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyStreamPackageSourceResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyStreamPackageSourceResponse struct {
	*tchttp.BaseResponse
	Response *ModifyStreamPackageSourceResponseParams `json:"Response"`
}

func (r *ModifyStreamPackageSourceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyStreamPackageSourceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type NameServer struct {
	// name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// address.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type OutputInfo struct {
	// HLS DASH.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The output group name can be associated with the source group name.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// The file name output by the channel program after scheduling.
	ManifestName *string `json:"ManifestName,omitnil,omitempty" name:"ManifestName"`

	// The manifest info, used when Type is HLS.
	ManifestConf *ManifestInfo `json:"ManifestConf,omitnil,omitempty" name:"ManifestConf"`

	// Playback address.
	PlaybackURL *string `json:"PlaybackURL,omitnil,omitempty" name:"PlaybackURL"`

	// The manifest info, used when Type is DASH.
	DashManifestConf *DashManifestInfo `json:"DashManifestConf,omitnil,omitempty" name:"DashManifestConf"`
}

type OutputReq struct {
	// Output type, distinguish HLS DASH.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The output group name can be associated with the source group name.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// The file name output by the channel program after scheduling.
	ManifestName *string `json:"ManifestName,omitnil,omitempty" name:"ManifestName"`

	// The manifest info, used when Type is HLS.
	ManifestConf *ManifestInfo `json:"ManifestConf,omitnil,omitempty" name:"ManifestConf"`

	// The manifest info, used when Type is DASH.
	DashManifestConf *DashManifestInfo `json:"DashManifestConf,omitnil,omitempty" name:"DashManifestConf"`
}

type OutputStorage struct {
	// VOD remux task output storage type. Only support COS type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// cos output storage information.
	CosOutputStorage *CosOutputStorage `json:"CosOutputStorage,omitnil,omitempty" name:"CosOutputStorage"`
}

type PlaybackInfo struct {
	// Program duration, in milliseconds, valid for live broadcast.
	Duration *uint64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// Program startup method, live broadcast only supports Absolute, on-demand also supports Relative.
	TransitionType *string `json:"TransitionType,omitnil,omitempty" name:"TransitionType"`

	// Unix timestamp, the start execution time of the program in the Absolute scenario.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// It is related to the insertion order of the selected program, divided into After and Before.
	RelativePosition *string `json:"RelativePosition,omitnil,omitempty" name:"RelativePosition"`

	// The selected insertion reference program id.
	RelativeProgramId *string `json:"RelativeProgramId,omitnil,omitempty" name:"RelativeProgramId"`

	// Spacer configuration.
	ClipRangeConf *ClipRangeInfo `json:"ClipRangeConf,omitnil,omitempty" name:"ClipRangeConf"`

	// RelativeProgramName.
	RelativeProgramName *string `json:"RelativeProgramName,omitnil,omitempty" name:"RelativeProgramName"`
}

type PlaybackInfoReq struct {
	// Program startup method, live broadcast only supports Absolute, on-demand also supports Relative.
	// Optional values: Absolute, Relative.
	TransitionType *string `json:"TransitionType,omitnil,omitempty" name:"TransitionType"`

	// Unix timestamp, the start execution time of the program in absolute scenarios.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Program duration, in milliseconds, valid for live broadcast.
	Duration *uint64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// It is related to the insertion order of the selected program, divided into After and Before.
	RelativePosition *string `json:"RelativePosition,omitnil,omitempty" name:"RelativePosition"`

	// The selected insertion reference program id.
	RelativeProgramId *string `json:"RelativeProgramId,omitnil,omitempty" name:"RelativeProgramId"`

	// Spacer configuration.
	ClipRangeConf *ClipRangeInfo `json:"ClipRangeConf,omitnil,omitempty" name:"ClipRangeConf"`
}

type PointInfo struct {
	// Channel input list.
	Inputs []*InputInfo `json:"Inputs,omitnil,omitempty" name:"Inputs"`

	// Channel output list.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Endpoints []*EndpointInfo `json:"Endpoints,omitnil,omitempty" name:"Endpoints"`
}

type ProgramAlertCounts struct {
	// Program ID.
	ProgramId *string `json:"ProgramId,omitnil,omitempty" name:"ProgramId"`

	// Program name.
	ProgramName *string `json:"ProgramName,omitnil,omitempty" name:"ProgramName"`

	// Alarm classification.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// The number of occurrences
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Update time.
	LastModifiedTime *uint64 `json:"LastModifiedTime,omitnil,omitempty" name:"LastModifiedTime"`
}

type ProgramAlertInfos struct {
	// Channel ID.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Channel name.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// ProgramID.
	ProgramId *string `json:"ProgramId,omitnil,omitempty" name:"ProgramId"`

	// ProgramName.
	ProgramName *string `json:"ProgramName,omitnil,omitempty" name:"ProgramName"`

	// Alarm event code.
	Code *uint64 `json:"Code,omitnil,omitempty" name:"Code"`

	// Alarm classification.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Alarm message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Update time.
	LastModifiedTime *uint64 `json:"LastModifiedTime,omitnil,omitempty" name:"LastModifiedTime"`
}

type ProgramScheduleInfo struct {
	// program name.
	ProgramName *string `json:"ProgramName,omitnil,omitempty" name:"ProgramName"`

	// program id.
	ProgramId *string `json:"ProgramId,omitnil,omitempty" name:"ProgramId"`

	// source type.
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// source id.
	SourceId *string `json:"SourceId,omitnil,omitempty" name:"SourceId"`

	// The id of the source location.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// Start timestamp.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Duration.
	Duration *string `json:"Duration,omitnil,omitempty" name:"Duration"`
}

type SSAIChannelInfo struct {
	// SSAI configuration ID, globally unique identifier
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`

	// Configuration name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content source stream prefix
	ContentSource *string `json:"ContentSource,omitnil,omitempty" name:"ContentSource"`

	// Generated playback address prefix
	PlaybackPrefix *string `json:"PlaybackPrefix,omitnil,omitempty" name:"PlaybackPrefix"`

	// SSAI configuration info
	SSAIInfo *SSAIConf `json:"SSAIInfo,omitnil,omitempty" name:"SSAIInfo"`

	// Region info
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`
}

type SSAIConf struct {
	// Advertising Decision Server URL (ADS).
	AdsUrl *string `json:"AdsUrl,omitnil,omitempty" name:"AdsUrl"`

	// Parameter configuration.
	ConfigAliases []*ConfigAliasesInfo `json:"ConfigAliases,omitnil,omitempty" name:"ConfigAliases"`

	// Whether to enable transparent transmission of advertising tags.
	AdMarkerPassthrough *bool `json:"AdMarkerPassthrough,omitnil,omitempty" name:"AdMarkerPassthrough"`

	// How to process tags in advertisements, optional values: [1,2] 
	// 1: Process all SCTE-35 type tags - all (default) 
	// 2: SCTE-35enhanced, parse some types.
	SCTE35AdType *uint64 `json:"SCTE35AdType,omitnil,omitempty" name:"SCTE35AdType"`

	// Default advertising url.
	SlateAd *string `json:"SlateAd,omitnil,omitempty" name:"SlateAd"`

	// Maximum unfilled duration, unit: seconds.
	Threshold *uint64 `json:"Threshold,omitnil,omitempty" name:"Threshold"`

	// Whether to enable mpd location, true corresponds to enable, false corresponds to disable.
	DashMPDLocation *bool `json:"DashMPDLocation,omitnil,omitempty" name:"DashMPDLocation"`

	// The type of tag that is regarded as an advertisement, optional values: [1,8]
	// 1. Splice insert 
	// 2. Provider advertisement 
	// 3. Distributor advertisement 
	// 4. Provider placement opportunity 
	// 5. Distributor placement opportunity 
	// 6. Break 
	// 7. Provider overlay placement opportunity 
	// 8. Distributor overlay placement opportunity.
	AdTriggers []*uint64 `json:"AdTriggers,omitnil,omitempty" name:"AdTriggers"`

	// The type of distribution restriction that is considered an advertisement, optional values: [1,4]
	// 1:None 
	// 2:Restricted (default) 
	// 3:Unrestricted 
	// 4.Both.
	DeliveryRestrictions *uint64 `json:"DeliveryRestrictions,omitnil,omitempty" name:"DeliveryRestrictions"`

	// Source CDN prefix, needs to start with http:// or https://
	SourceCDNPrefix *string `json:"SourceCDNPrefix,omitnil,omitempty" name:"SourceCDNPrefix"`

	// Advertising CDN prefix needs to start with http:// or https://
	AdCDNPrefix *string `json:"AdCDNPrefix,omitnil,omitempty" name:"AdCDNPrefix"`

	// Pre-roll ad decision service address.
	PreRollAdsUrl *string `json:"PreRollAdsUrl,omitnil,omitempty" name:"PreRollAdsUrl"`

	// The maximum allowed duration of pre-roll ads, (0, 3600].
	PreRollMaxAllowedDuration *int64 `json:"PreRollMaxAllowedDuration,omitnil,omitempty" name:"PreRollMaxAllowedDuration"`
}

type SSAIUsageInfo struct {
	// Number of successful ad requests.
	AdRequestSuccess *uint64 `json:"AdRequestSuccess,omitnil,omitempty" name:"AdRequestSuccess"`

	// Number of failed ad requests.
	AdRequestFail *uint64 `json:"AdRequestFail,omitnil,omitempty" name:"AdRequestFail"`

	// Exposure count.
	Impression *uint64 `json:"Impression,omitnil,omitempty" name:"Impression"`

	// Fill factor for personalized ads.
	MidFillRate *float64 `json:"MidFillRate,omitnil,omitempty" name:"MidFillRate"`

	// Advertising tag time.
	AdMarkerTime *float64 `json:"AdMarkerTime,omitnil,omitempty" name:"AdMarkerTime"`

	// Personalization replacement time.
	ReplacedTime *float64 `json:"ReplacedTime,omitnil,omitempty" name:"ReplacedTime"`

	// Ad replacement rate.
	PreReplaceRate *float64 `json:"PreReplaceRate,omitnil,omitempty" name:"PreReplaceRate"`

	// Number of pre-roll ad requests.
	PreReqNum *uint64 `json:"PreReqNum,omitnil,omitempty" name:"PreReqNum"`

	// Number of pre-roll ad replacements.
	PreReplacedNum *uint64 `json:"PreReplacedNum,omitnil,omitempty" name:"PreReplacedNum"`

	// Configures usage for each ad.
	// Note: This field may return null, indicating that no valid values can be obtained.
	UsageDetails []*UsageDetail `json:"UsageDetails,omitnil,omitempty" name:"UsageDetails"`
}

type SegmentDeliverInfo struct {
	// Default content source address.
	DefaultSegmentUrl *string `json:"DefaultSegmentUrl,omitnil,omitempty" name:"DefaultSegmentUrl"`

	// Custom server address.
	NameServers []*NameServer `json:"NameServers,omitnil,omitempty" name:"NameServers"`
}

type SlateInfo struct {
	// The ID of the source location.
	SourceLocationId *string `json:"SourceLocationId,omitnil,omitempty" name:"SourceLocationId"`

	// The corresponding vod shim content source name.
	VodSourceName *string `json:"VodSourceName,omitnil,omitempty" name:"VodSourceName"`
}

type SourceAlert struct {
	// Source ID.
	SourceId *string `json:"SourceId,omitnil,omitempty" name:"SourceId"`

	// Source name.
	SourceName *string `json:"SourceName,omitnil,omitempty" name:"SourceName"`

	// Alarm event code.
	Code *uint64 `json:"Code,omitnil,omitempty" name:"Code"`

	// Alarm classification.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Alarm message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Update time.
	LastModifiedTime *uint64 `json:"LastModifiedTime,omitnil,omitempty" name:"LastModifiedTime"`
}

type SourceInfo struct {
	// name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The source type distinguishes between live broadcast and on-demand Vod.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Source configuration.
	PackageConf []*SourcePackageConf `json:"PackageConf,omitnil,omitempty" name:"PackageConf"`

	// ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Create timestamp.
	CreateTime *uint64 `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update timestamp.
	UpdateTime *uint64 `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`
}

type SourceLocationInfo struct {
	// ID, unique identification.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// SourceLocation name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// area.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// BaseUrl information.
	BaseUrl *string `json:"BaseUrl,omitnil,omitempty" name:"BaseUrl"`

	// Whether to enable patching.
	SegmentDeliverEnable *bool `json:"SegmentDeliverEnable,omitnil,omitempty" name:"SegmentDeliverEnable"`

	// Patch configuration.
	SegmentDeliverConf *SegmentDeliverInfo `json:"SegmentDeliverConf,omitnil,omitempty" name:"SegmentDeliverConf"`

	// List of bound live broadcast source ids.
	AttachedLiveSources []*string `json:"AttachedLiveSources,omitnil,omitempty" name:"AttachedLiveSources"`

	// List of bound on-demand source ids.
	AttachedVodSources []*string `json:"AttachedVodSources,omitnil,omitempty" name:"AttachedVodSources"`

	// Source location creation time, Unix timestamp.
	CreateTime *uint64 `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Source location last modified time, Unix timestamp.
	UpdateTime *uint64 `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether to enable package distribution sharding, it is enabled by default.
	SegmentDeliverUsePackageEnable *bool `json:"SegmentDeliverUsePackageEnable,omitnil,omitempty" name:"SegmentDeliverUsePackageEnable"`
}

type SourcePackageConf struct {
	// Group name. When the channel is in Linear mode and vod source is selected, the group name corresponds to the output group name of the channel output.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// Type, distinguish between HLS and DASH, optional values: HLS, DASH.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// access path.
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`
}

type SourceTag struct {

	Key *string `json:"Key,omitnil,omitempty" name:"Key"`


	Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}

type SpliceInsertInfo struct {
	// EventID.
	EventID *string `json:"EventID,omitnil,omitempty" name:"EventID"`

	// AvailNum.
	AvailNum *string `json:"AvailNum,omitnil,omitempty" name:"AvailNum"`

	// AvailExpected.
	AvailExpected *string `json:"AvailExpected,omitnil,omitempty" name:"AvailExpected"`

	// ProgramID.
	ProgramID *string `json:"ProgramID,omitnil,omitempty" name:"ProgramID"`
}

// Predefined struct for user
type StartStreamPackageLinearAssemblyChannelRequestParams struct {
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type StartStreamPackageLinearAssemblyChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *StartStreamPackageLinearAssemblyChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartStreamPackageLinearAssemblyChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StartStreamPackageLinearAssemblyChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StartStreamPackageLinearAssemblyChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StartStreamPackageLinearAssemblyChannelResponse struct {
	*tchttp.BaseResponse
	Response *StartStreamPackageLinearAssemblyChannelResponseParams `json:"Response"`
}

func (r *StartStreamPackageLinearAssemblyChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartStreamPackageLinearAssemblyChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StartStreamPackageVodRemuxTaskRequestParams struct {
	// VOD remux task ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type StartStreamPackageVodRemuxTaskRequest struct {
	*tchttp.BaseRequest
	
	// VOD remux task ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *StartStreamPackageVodRemuxTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartStreamPackageVodRemuxTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StartStreamPackageVodRemuxTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StartStreamPackageVodRemuxTaskResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StartStreamPackageVodRemuxTaskResponse struct {
	*tchttp.BaseResponse
	Response *StartStreamPackageVodRemuxTaskResponseParams `json:"Response"`
}

func (r *StartStreamPackageVodRemuxTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartStreamPackageVodRemuxTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopStreamPackageLinearAssemblyChannelRequestParams struct {
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type StopStreamPackageLinearAssemblyChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *StopStreamPackageLinearAssemblyChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopStreamPackageLinearAssemblyChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopStreamPackageLinearAssemblyChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopStreamPackageLinearAssemblyChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StopStreamPackageLinearAssemblyChannelResponse struct {
	*tchttp.BaseResponse
	Response *StopStreamPackageLinearAssemblyChannelResponseParams `json:"Response"`
}

func (r *StopStreamPackageLinearAssemblyChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopStreamPackageLinearAssemblyChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type TimeShiftInfo struct {
	// Lookback window, in seconds.
	TimeWindows *uint64 `json:"TimeWindows,omitnil,omitempty" name:"TimeWindows"`
}

type TimeSignalInfo struct {
	// EventID.
	EventID *string `json:"EventID,omitnil,omitempty" name:"EventID"`

	// UPIDType.
	UPIDType *string `json:"UPIDType,omitnil,omitempty" name:"UPIDType"`

	// UPID.
	UPID *string `json:"UPID,omitnil,omitempty" name:"UPID"`

	// TypeID.
	TypeID *string `json:"TypeID,omitnil,omitempty" name:"TypeID"`

	// Num.
	Num *string `json:"Num,omitnil,omitempty" name:"Num"`

	// Expected.
	Expected *string `json:"Expected,omitnil,omitempty" name:"Expected"`

	// SubsegmentNum.
	SubsegmentNum *string `json:"SubsegmentNum,omitnil,omitempty" name:"SubsegmentNum"`

	// SubsegmentsExpected.
	SubsegmentsExpected *string `json:"SubsegmentsExpected,omitnil,omitempty" name:"SubsegmentsExpected"`
}

// Predefined struct for user
type UnbindCdnDomainWithChannelRequestParams struct {
	// Channel ID
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// CDN playback domain name
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

type UnbindCdnDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel ID
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// CDN playback domain name
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

func (r *UnbindCdnDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UnbindCdnDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "CdnDomain")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnbindCdnDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UnbindCdnDomainWithChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UnbindCdnDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *UnbindCdnDomainWithChannelResponseParams `json:"Response"`
}

func (r *UnbindCdnDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UnbindCdnDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UnbindLinearAssemblyCDNDomainWithChannelRequestParams struct {
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Cdn playback domain.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

type UnbindLinearAssemblyCDNDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Cdn playback domain.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

func (r *UnbindLinearAssemblyCDNDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UnbindLinearAssemblyCDNDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "CdnDomain")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnbindLinearAssemblyCDNDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UnbindLinearAssemblyCDNDomainWithChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UnbindLinearAssemblyCDNDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *UnbindLinearAssemblyCDNDomainWithChannelResponseParams `json:"Response"`
}

func (r *UnbindLinearAssemblyCDNDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UnbindLinearAssemblyCDNDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UnbindSSAICDNDomainWithChannelRequestParams struct {
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Specifies the playback domain of CDN.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

type UnbindSSAICDNDomainWithChannelRequest struct {
	*tchttp.BaseRequest
	
	// Channel Id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Specifies the playback domain of CDN.
	CdnDomain *string `json:"CdnDomain,omitnil,omitempty" name:"CdnDomain"`
}

func (r *UnbindSSAICDNDomainWithChannelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UnbindSSAICDNDomainWithChannelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ChannelId")
	delete(f, "CdnDomain")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UnbindSSAICDNDomainWithChannelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UnbindSSAICDNDomainWithChannelResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UnbindSSAICDNDomainWithChannelResponse struct {
	*tchttp.BaseResponse
	Response *UnbindSSAICDNDomainWithChannelResponseParams `json:"Response"`
}

func (r *UnbindSSAICDNDomainWithChannelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UnbindSSAICDNDomainWithChannelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type UsageDetail struct {
	// Ad insertion configuration uniq_id.
	UniqId *string `json:"UniqId,omitnil,omitempty" name:"UniqId"`

	// Ad insertion configuration id.
	ChannelId *string `json:"ChannelId,omitnil,omitempty" name:"ChannelId"`

	// Ad insertion configuration name.
	ChannelName *string `json:"ChannelName,omitnil,omitempty" name:"ChannelName"`

	// Ad type.
	AdType *string `json:"AdType,omitnil,omitempty" name:"AdType"`

	// Number of successful ad requests.
	AdRequestSuccess *uint64 `json:"AdRequestSuccess,omitnil,omitempty" name:"AdRequestSuccess"`

	// Number of failed ad requests.
	AdRequestFail *uint64 `json:"AdRequestFail,omitnil,omitempty" name:"AdRequestFail"`

	// Number of ad exposures.
	Impression *uint64 `json:"Impression,omitnil,omitempty" name:"Impression"`

	// Number of ad playbacks started.
	Start *uint64 `json:"Start,omitnil,omitempty" name:"Start"`

	// Ad plays at 1/4 point.
	FirstQuarter *uint64 `json:"FirstQuarter,omitnil,omitempty" name:"FirstQuarter"`

	// Ad plays at 1/2 point.
	Midpoint *uint64 `json:"Midpoint,omitnil,omitempty" name:"Midpoint"`

	// Ad plays at 3/4 point.
	ThirdQuarter *uint64 `json:"ThirdQuarter,omitnil,omitempty" name:"ThirdQuarter"`

	// Number of ad playbacks completed.
	Complete *uint64 `json:"Complete,omitnil,omitempty" name:"Complete"`

	// Advertising tag time.
	AdMarkerTime *float64 `json:"AdMarkerTime,omitnil,omitempty" name:"AdMarkerTime"`

	// Personalization replacement time.
	ReplacedTime *float64 `json:"ReplacedTime,omitnil,omitempty" name:"ReplacedTime"`

	// Fill factor for personalized ads.
	MidFillRate *float64 `json:"MidFillRate,omitnil,omitempty" name:"MidFillRate"`

	// Number of pre-roll ad requests.
	PreReqNum *uint64 `json:"PreReqNum,omitnil,omitempty" name:"PreReqNum"`

	// Number of pre-roll ad replacements.
	PreReplacedNum *uint64 `json:"PreReplacedNum,omitnil,omitempty" name:"PreReplacedNum"`

	// Ad replacement rate.
	PreReplaceRate *float64 `json:"PreReplaceRate,omitnil,omitempty" name:"PreReplaceRate"`
}

type VodRemuxTaskInfo struct {
	// VOD remux task ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// VOD remux task name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// VOD remux task type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// VOD remux task input file information.
	InputFileInfo *InputFileInfo `json:"InputFileInfo,omitnil,omitempty" name:"InputFileInfo"`

	// VOD remux task output storage information.
	OutputStorage *OutputStorage `json:"OutputStorage,omitnil,omitempty" name:"OutputStorage"`

	// VOD remux task created time.
	CreateTime *uint64 `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// VOD remux task updated time.
	UpdateTime *uint64 `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// VOD remux task's state.
	State *string `json:"State,omitnil,omitempty" name:"State"`

	// VOD remux task's error message.
	ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"`

	// VOD remux task process started time.
	StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// VOD remux task process end time.
	EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Common Params. For more information, please see the list of regions supported by the product.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`
}